package main

import (
	"fmt"
	"net"
)

func process(conn net.Conn){
	defer conn.Close()

	for{
		buf := make([]byte, 1024)
		//等待客户端发送信息给我
		//如果收取不到则一直阻塞
		//fmt.Println("服务器等待输入 ", conn.RemoteAddr())
		n, err := conn.Read(buf)
		if err != nil{
			fmt.Println("服务器 read error， ", err)
			return
		}
		//现实客户端发送的数据到终端
		fmt.Print(string(buf[:n]))
	}
}

func main() {
	fmt.Println("服务器开始监听")
	listener, err := net.Listen("tcp", "0.0.0.0:8888")
	if err != nil{
		fmt.Println("error")
		return
	}
	defer listener.Close()

	for {
		fmt.Println("等待连接")
		conn, err := listener.Accept()
		if err != nil{
			fmt.Println("accept error")
		}else{
			go process(conn)
		}
	}
}